In a typical conventional managed information environment, such as a storage area network (SAN) operable to coordinate access to mass storage devices by a set of users, the storage area network provides an interconnection of a plurality of storage device nodes using associated interconnection nodes for access by a set of host computer systems. More specifically, the storage area network includes a variety of nodes for providing mass storage retrieval services to users, such as storage devices (e.g. disc drive arrays), connectivity devices (e.g. switches and routers), and conventional host computers. The host computers may execute software components called agents for monitoring and controlling the nodes and other manageable entities in the storage area network. A dedicated host computer system executes a management application that can communicate with the agents on other host computer systems to monitor and control (i.e., manage) that various components in the storage area network. The resultant infrastructure, therefore, for monitoring and controlling the storage area network, defines a complex array of nodes and interconnections.
Management of the storage area network infrastructure is a formidable endeavor. The multitude of nodes and interconnections between the various nodes present a substantial monitoring and control task for tracking throughput and performance, identifying bottlenecks, and pinpointing failures, for example. In a typical conventional managed information services network, a network management application, such as a Simple Network Management Protocol (SNMP) based application, for example, assists operators and users in gathering feedback from the managed entities in the network and performs diagnostic activities for isolating problem areas. Such management applications can also perform remedial action and improve efficiency of the conventional network infrastructure.
Complex software systems such as the managed information network (e.g., a SAN) often employ a software-based event mechanism in order to notify interested parties of significant events, such as the discovery of new servers, switches, or disk arrays, or the detection of failures, such as faulty drives, dysfunctional power supplies, or poor network connections, for example. In conventional software system implementation languages, such as the C++ programming language, for example, predefined standard event notification mechanisms are not be available and developers must create software routines to handle event management. In such a managed information environment, conventional notification mechanisms inform applications and other managing entities of various occurrences detected by deployed entities in the environment. Often, such notifications take the form of events, or alerts, which a detecting entity reports to a monitoring or responsible entity. The notification mechanisms typically strive to organize and propagate the alerts in a systematic manner according to a predetermined protocol. The predetermined protocol provides assurances that information in the alerts and corresponding responsive action occurs in a timely and/or effective manner to maintain the conventional managed information environment near peak efficiency.